package controleur;

/**
 * Commandes supportées par l'application.
 * @author James Medvedovski
 */
public enum Cmd {

    ACCUEIL(new CommandeNulle(ConstantesWeb.PAGE_ACCUEIL)),
    OUVRIR_SESSION(new CommandeConnexion(ConstantesWeb.PAGE_REDIRECTION_CONNEXION)),
    DECONNEXION(new CommandeDeconnexion(ConstantesWeb.PAGE_REDIRECTION_DECONNEXION)),
    AFFICHER_LIVRES(new CommandeAfficherLivresListe(ConstantesWeb.PAGE_LIVRES_TOUS)),
    PRINCIPALE(new CommandeNulle(ConstantesWeb.PAGE_PRINCIPALE)),
    AFFICHER_AUTEURS(new CommandeAfficherAuteursListe(ConstantesWeb.PAGE_AUTEURS_TOUS)),
    COMPTE(new CommandeAfficherCompte(ConstantesWeb.PAGE_COMPTE)),
    PROFIL(new CommandeNulle(ConstantesWeb.PAGE_PROFIL)),
    ECRIRE_CRITIQUE(new CommandeEcrireCritique(ConstantesWeb.PAGE_LIVRE)),
    SUPPRIMER_CRITIQUE(new CommandeSupprimerCritique(ConstantesWeb.PAGE_LIVRE)),
    MODIFIER_PROFIL(new CommandeModifierProfil(ConstantesWeb.PAGE_REDIRECTION_CONNEXION)),
    AFFICHER_COMPTES(new CommandeAfficherComptesMembres(ConstantesWeb.PAGE_COMPTES_TOUS)),
    AFFICHER_MEMBRES(new CommandeAfficherMembresListe(ConstantesWeb.PAGE_MEMBRES_TOUS)),
    MEMBRE(new CommandeAfficherMembre(ConstantesWeb.PAGE_MEMBRE)),
    AUTEUR(new CommandeAfficherAuteur(ConstantesWeb.PAGE_AUTEUR)),
    LIVRE(new CommandeAfficherLivre(ConstantesWeb.PAGE_LIVRE)),
    IMAGE(new CommandeAfficherImage(ConstantesWeb.PAGE_IMAGE));
    /**
     * Commande à exécuter.
     */
    private Commande cmd;

    private Cmd(Commande cmd) {
        this.cmd = cmd;
    }

    public Commande getCmd() {
        return this.cmd;
    }
}
